home *** CD-ROM | disk | FTP | other *** search
- #ifndef DESKTOP_DESKTOP_H
- #define DESKTOP_DESKTOP_H TRUE
-
- /*
- ** $VER: desktop.h V1.0
- **
- ** Desktop Definitions.
- **
- ** (C) Copyright 1996-1998 DreamWorld Productions.
- ** All Rights Reserved.
- */
-
- #ifndef DPKERNEL_H
- #include <dpkernel/dpkernel.h>
- #endif
-
- /***************************************************************************
- ** Desktop object.
- */
-
- #define TAGS_DESKTOP ((ID_SPCTAGS<<16)|ID_DESKTOP)
- #define VER_DESKTOP 1
-
- typedef struct Desktop {
- struct Head Head; /* 00 [--] Standard header structure */
- struct MenuBar *MenuBar; /* 12 [--] Only 1 menu bar is allowed */
- struct Bob *Pointer; /* 16 [--] The pointer for this desktop */
- struct GScreen *Screen; /* 20 [--] The Screen that is owned by the Desktop */
- struct Chain *Icons; /* 24 [--] First icon on the chain */
- struct Chain *Windows; /* 28 [--] First window on the chain */
- struct Chain *Children; /* 32 [--] All the other children inside the desktop */
- LONG Gadgets; /* 36 [--] Gadget flags */
- struct Bob *Wallpaper; /* 40 [--] Bob to use as wall paper */
- LONG Flags;
-
- /*** Private fields ***/
-
- struct Bob *prvPointer;
- struct Bob *prvWallpaper;
- } DESKTOP;
-
- #define DSA_MenuBar (TAPTR|12)
- #define DSA_Pointer (TAPTR|16)
- #define DSA_Gadgets (TLONG|36)
- #define DSA_Wallpaper (TAPTR|40)
-
- #define DSA_MenuBarTags (TSTEPIN|TTRIGGER|12)
- #define DSA_PointerTags (TSTEPIN|TTRIGGER|16)
- #define DSA_GadgetsTags (TSTEPIN|TTRIGGER|36)
- #define DSA_WallpaperTags (TSTEPIN|TTRIGGER|40)
-
- /**************************************************************************/
-
- #define GDF_CLOSE 0x00000001
- #define GDF_FLIP 0x00000002
-
- #define DSF_Tile 0x00000001
-
- /***************************************************************************
- ** This is the Chain object. The advantage of an object chain is that
- ** it allows you to link up lots of objects that you don't know anything
- ** about chaining.
- */
-
- #define VER_CHAIN 1
- #define TAGS_CHAIN ((ID_SPCTAGS<<16)|ID_CHAIN)
-
- typedef struct Chain {
- struct Head *Stats; /* 00 Standard header */
- struct Chain *Next; /* 12 Next chain object */
- struct Chain *Prev; /* 16 Previous chain object */
- APTR Object; /* 20 Pointer to the object belonging to this node */
- } CHAIN;
-
- #define CNA_Next (TAPTR|12)
- #define CNA_Prev (TAPTR|16)
- #define CNA_Object (TAPTR|20)
-
- /***************************************************************************
- ** These are Window gadgets, the Window class holds pointers to them
- ** privately. Since they are standard DPK objects, you can enhance them,
- ** add animations to gadgets etc...
- */
-
- struct GadClose {
- struct Head Head; /* Standard header structure */
- struct Bob *Image; /* Gadget Image (Bob) */
- };
-
- struct GadIconify {
- struct Head *Stats; /* Standard header structure */
- struct Bob *Image; /* Gadget Image (Bob) */
- };
-
-
- struct GadMaximise {
- struct Head *Stats; /* Standard header structure */
- struct Bob *Image; /* Gadget Image (Bob) */
- };
-
- struct GadResize {
- struct Head *Stats; /* Standard header structure */
- struct Bob *Image; /* Gadget Image (Bob) */
- };
-
- /***************************************************************************
- ** Font.
- */
-
- #define TAGS_FONT ((ID_SPCTAGS<<16)|ID_FONT)
- #define VER_FONT 1
-
- typedef struct Font {
- struct Head Head; /* Standard header structure */
- BYTE *FontName; /* Name from the fonts directory */
- LONG Flags; /* */
- WORD Size; /* What point font */
- LONG RGBColour; /* Colour of the font */
- } FONT;
-
- #define FNT_BOLD 0x00000001
- #define FNT_ITALICS 0x00000002
- #define FNT_SMOOTH 0x00000004
-
- /***************************************************************************
- ** Icon.
- */
-
- #define TAGS_ICON ((ID_SPCTAGS<<16)|ID_ICON)
- #define VER_ICON 1
-
- typedef struct Icon {
- struct Head Head; /* Standard header structure */
- struct Bob *Image; /* The drawable part of the icon */
- struct Font *Font; /* What font should we use to print the name [O] */
- BYTE *Name; /* The name to appear under the image */
- } ICON;
-
- #endif /* DESKTOP_DESKTOP_H */
-